package com.design;

/**
 * 在线文档
 */
public class OnlineDocument {
    /**
     * 文档内容
     */
    private String content;
    /**
     * 文档标题
     */
    private String title;

    public OnlineDocument(String title) {
        this.title = title;
    }

     /**
     * 设置文档内容
     * @param content 文档内容
     */
    public void setContent(String content) {
        System.out.println("文档内容更新为:"+content);
        this.content = content;
    }

    /**
     * 获取文档内容
     * @return 文档内容
     */
    public String getContent() {
        return content;
    }

    /**
     * 创建快照
     * */
     public DocumentMemento createMemento() {
         System.out.println("创建快照。。。。");
        return new DocumentMemento(getContent());
    }

    /**
     * 从快照恢复
     * @param memento 快照
     */
    public void restoreMemento(DocumentMemento memento) {
        System.out.println("从快照："+memento.getTime()+"恢复文档内容："+memento.getContent());
        this.content=memento.getContent();
    }

    public String getTitle() {
        return title;
    }
}
